import {
	TEST,
	SETINDEXDATA
} from '../mutation-type.js'
import request from '../../utils/request.js'
const state = {
	initData: "我是初始化数据",
	indexData: {}

}
const mutations = {
	//对象的属性值 重名会被覆盖掉  所以用配置常量
	// [TEST](state, payload) {
	// 	console.log("test1");
	// 	setTimeout(() => {

	// 		state.initData = "我是修改之后的数据"
	// 	}, 1000)
	// },
	// test2(state, payload) {
	// 	console.log("test2");
	// 	state.initData = "我是修改之后的数据2"
	// }

	[SETINDEXDATA](state, payload) {
		state.indexData = payload.name
	}
}

const actions = {
	//回调函数 系统固定形参 不是我们能够决定的
	// test3(context,data){
	// 	// console.log("context:",context);
	// 	// console.log("data:",data);
	// 	context.state.initData = data.initData
	// }
	async getIndexData({commit}) {
		let result = await request('/getIndexData')
		//如果成功 则把return的数据返回给 async
		//如果失败 则把错误信息返回 promise 不执行下面代码
		if (!result) { 
			console.log("请求失败");
			//可以放简单的初始值
			result = ['推荐', '居家生活', '服饰鞋包']
		}
		commit(SETINDEXDATA, result)
	}
}

const getters = {

}


export default {
	state,
	mutations,
	actions,
	getters
}
